home *** CD-ROM | disk | FTP | other *** search
- /* GadTools layout toolkit
- **
- ** Copyright © 1993-1994 by Olaf `Olsen' Barthel
- ** Freely distributable.
- */
-
- #include "gtlayout_global.h"
-
- ULONG __regargs
- LTP_ImageClassDraw(struct Image *image,struct impDraw *drawMsg,ImageInfo *imageInfo)
- {
- LTP_DrawBox(drawMsg -> imp_RPort,drawMsg -> imp_DrInfo,image -> LeftEdge + drawMsg -> imp_Offset . X,image -> TopEdge + drawMsg -> imp_Offset . Y,image -> Width,image -> Height,drawMsg -> imp_State == IDS_SELECTED,drawMsg -> imp_State == IDS_DISABLED,imageInfo);
-
- return(TRUE);
- }
-
-
- /*****************************************************************************/
-
-
- ULONG __regargs
- LTP_ImageClassErase(struct Image *image,struct impErase *eraseMsg)
- {
- LONG left;
- LONG top;
-
- left = eraseMsg -> imp_Offset . X + image -> LeftEdge;
- top = eraseMsg -> imp_Offset . Y + image -> TopEdge;
-
- LTP_SetAPen(eraseMsg -> imp_RPort,0);
- RectFill(eraseMsg -> imp_RPort,left,top,left + image -> Width - 1,top + image -> Height - 1);
-
- return(TRUE);
- }
-
-
- /*****************************************************************************/
-
- ULONG __regargs
- LTP_ImageClassNew(struct IClass *class,Object *object,struct opSet *SetMethod)
- {
- struct TagItem *Tag;
-
- if(Tag = FindTagItem(IIA_ImageType,SetMethod -> ops_AttrList))
- {
- struct Image *NewImage;
-
- if(NewImage = (struct Image *)DoSuperMethodA(class,object,(Msg)SetMethod))
- {
- struct ImageInfo *MoreInfo = INST_DATA(class,NewImage);
-
- MoreInfo -> ImageType = Tag -> ti_Data;
- MoreInfo -> GlyphWidth = GetTagData(IIA_GlyphWidth,0,SetMethod -> ops_AttrList);
- MoreInfo -> GlyphHeight = GetTagData(IIA_GlyphHeight,0,SetMethod -> ops_AttrList);
-
- return((ULONG)NewImage);
- }
- }
-
- return(NULL);
- }
-
-
- /*****************************************************************************/
-
-
- ULONG __saveds __asm
- LTP_ImageDispatch(register __a0 struct IClass *class,register __a2 Object *object,register __a1 Msg msg)
- {
- switch(msg -> MethodID)
- {
- case IM_ERASE:
-
- return(LTP_ImageClassErase((struct Image *)object,(struct impErase *)msg));
-
- case IM_DRAW:
-
- return(LTP_ImageClassDraw((struct Image *)object,(struct impDraw *)msg,(ImageInfo *)INST_DATA(class,object)));
-
- case OM_NEW:
-
- return(LTP_ImageClassNew(class,object,(struct opSet *)msg));
-
- default:
-
- return(DoSuperMethodA(class,object,msg));
- }
- }
-